﻿namespace StateManager
{
    /// <summary>
    /// StateManager自定义类的接口
    /// </summary>
    public interface IState
    {
        /// <summary>
        /// 所有对象创建完成后，按配置文件顺序初始化每个对象
        /// </summary>
        /// <param name="si">实例对象</param>
        void StateInit(SInfo si);

        /// <summary>
        /// 状态处理函数，执行的条件为自动模式、且时间到了
        /// </summary>
        /// <param name="si"></param>
        void StateHandle(SInfo si);

        /// <summary>
        /// 状态机停止时，按配置文件顺序执行每个对象，可编写一些网络连接等资源释放的代码
        /// </summary>
        /// <param name="si"></param>
        void StateUInit(SInfo si);

    }

}
